1. Technical Field
The invention relates generally to information technology (IT) and business systems management, and more particularly, to a method for efficiently dispatching an event to one or more rules using an event dispatcher.
2. Background Art
In today's IT and business systems management (BSM) environments, there is an increasing need for event correlation rule engines that support a high throughput of events processed as part of an event-driven architecture. In such environments, events are received by an event correlation rule engine and dispatched to the rules applicable to the event. Often, such rules are organized in a hierarchical, domain-based rule set, where blocks of rules contain other nested rule blocks. Typically, each rule block represents the rules pertaining to a given domain.
Known methods and systems typically employ a reference to the rule set within the event correlation rule engine. As such, the event is processed according to the hierarchy of the rule set. However, this requires the event correlation rule engine to traverse every rule block and rule within the rule set to determine whether the rule block or rule is applicable to a particular event. This procedure must be repeated each time an event is received. This is both inefficient and wasteful in terms of the performance of the IT or BSM system, as every rule block and rule in the rule set is inspected for each event, even though only a proportionally small number of rule blocks or rules are typically applicable to any particular event.
To this extent, a need exists for a method, system, and program product for more efficiently dispatching an event to rule(s) applicable to the event.